草庐IT

Java String.split 内存泄漏?

全部标签

php - 使用 PHPExcel 将 XLS 文件中的单个工作表转换为 CSV - 内存耗尽

我有一个Excel文件(97-2003),我需要能够通过PHP将其导入并让它仅将文件中的一张工作表转换为CSV。这些是由用户上传的,因此无法手动进行。它需要与PHP一起使用。我目前正在使用PHPExcel,它工作正常,直到我们得到一个超过33,000行的文件......这给出了一个致命的PHP错误:fatalerror:允许的内存大小为1073741824字节耗尽(试图在第11231行的[pathtophpexcel]\PHPExcel\Worksheet.php中分配97个字节有什么方法可以进一步优化它,还是PHPExcel在处理大工作表时不适合使用?我使用的代码非常简单,所以不确定

PHP SimpleXML 大文件没有额外的内存使用

在每篇关于SimpleXML性能和内存使用的文章中都提到所有解析的内容都存储在内存中,处理大文件会导致大量内存使用。但最近我发现使用SimpleXML处理大文件不会导致大量内存使用,甚至几乎不会导致内存使用。有我的测试脚本:';for($i=0;$i{$i}ProductName{$i}SomeDescription{$i}{$i}\n";}$large_xml.="";printround(memory_get_usage()/1024/1024,2)."Mb\n";$products_sxml=simplexml_load_string($large_xml);printround

php - memory_limit = 1024M,仍然,无法分配内存 : couldn't create child process:/opt/suphp/sbin/suphp

我知道还有一个标题/错误类似的问题,但我认为这是一个不同的问题。上下文:在1gb内存的共享Linux主机上运行wordpress3.6.1、PHP5.3.27、MySql5.1.70。.htaccess:suPHP_ConfigPath/home/[用户名]/public_htmlphp.ini:memory_limit=512M(我试过2048M、1024M、32M,..甚至-1)我也试过(ini_set(/*上述所有值,在WordPressindex.php*/))我禁用了所有插件,我什至一个一个重新启用。我的网站平均同时有大约300-400个并发连接/用户。我没有SSH访问权限:

php - 如何使用符号访问内存变量 a

我有一个以@符号开头的PHPstdClass属性(根据我的调试器)。我如何访问它的值?@averageBaseRate="22.49" 最佳答案 使用花括号:$obj->{'@averageBaseRate'}这是complex(curly)syntax应用于对象。使用该语法,您可以为成员变量使用任何您想要的名称。甚至可以在名称中加入非常奇怪的Unicode字符。 关于php-如何使用符号访问内存变量a,我们在StackOverflow上找到一个类似的问题:

php - 内存管理 Symfony 表单和 Doctrine

当使用Symfony构建表单时,表单的构建速度非常慢并且内存峰值。该表单是使用一些子表单构建的,并使用了一些一对多关系。当表单的数据变大(多方实体更多)时,表单变慢并且内存使用量越来越大,这看起来不错,但时间和内存使用量似乎不是。例如,当多边有大约71个实体时,内存使用量约为116MB,加载需要14秒。我已经推断出完成的查询数量(从75到4),尽管内存峰值仍然在创建表单的那一刻发生$form=$this->createForm(newTapsAndAppliancesType(),$taps);有什么提示和技巧可以加快速度吗? 最佳答案

php - Yii2 batchInsert 吃掉所有服务器内存

如果我在100批插入中插入百万行,而不是每次迭代memory_usage变大,然后发生php内存错误。它与Yii插入命令连接,因为如果我注释插入操作memory_usage是稳定的。for($i=0;$idb->createCommand()->batchInsert(static::tableName(),$columns,$rows)->execute();echomemory_get_usage();}我试过禁用Debug模式,但没有用。 最佳答案 我认为问题出在Yii2的记录器中。只需尝试使用类似的东西:通用/组件/Empt

php - 是什么导致 PHPExcel 在使用分块过滤器读取文件时使用如此多的内存?

与许多其他人一样,我在读取文件(将其转换为MySQL)时一直在为PHPExcel内存使用而苦苦挣扎。当然我已经尝试过各个地方提到的通常的东西并且已经能够将内存效率提高至少40%。这包括使用自定义分块读取器类、将分块读取器实例化移到读取循环之外等。我的测试服务器上有16GRAM,并在PHP中分配了2G最大内存使用量。对于~200K行以下的文件,PHPExcel将工作(缓慢但肯定)。一旦超过一定大小,脚本就会失败,只会向shell输出“Killed”。日志显示内核杀死了PHP,因为它使用了太多内存。在使用top命令观察CPU和内存使用情况时,我可以看到内存空闲和交换空闲直线下降,而内存使用

php - Apache 内存错误

当我尝试重新启动apache2时,我遇到了以下错误:FatalErrorUnabletoallocatesharedmemorysegmentof67108864bytes:mmap:Cannotallocatememory(12)我才发现这个错误经常发生在虚拟服务器上,但我找不到解决方案,只能切换到php-fpm和nginx以减少内存使用。服务器:Ubuntu14.04LTS,2GB内存,VPS有谁知道如何解决这个问题,因为RAM似乎不是问题所在(1.9GB免费)。苏打水 最佳答案 “fatalerror无法分配共享内存段”。使用

php - 对所有特殊字符使用 preg_split

我想在每次找到特殊字符时拆分一个字符串。我这样做了:preg_split("[\\W]",$str);但这仍然允许下划线(也许更多?)是否可以只说允许a-zA-Z和数字并拆分任何不是其中之一的东西? 最佳答案 您刚刚回答了您的问题:preg_split('~[^a-z0-9]~i',$str);参见thisregexdemo[^a-z0-9]negated字符类匹配除a-z(和A-Z由于i修饰符)而不是数字(用0-9定义)。另一种方法是在否定字符类中使用POSIX[:alnum:]字符类:'~[^[:alnum:]]~'参见rege

php - Laravel split in blade 模板嵌套 foreach

我检索了一个由空格分隔的ID数组,如下所示@foreach($user_notify->user_notify_divisionsas$user_notify){{$user_notify}}@endforeach那么$user_notify的值就是ID$user_notify=2345我有一个数据库表division_listiddivision_name1工業製品卸・小売2繊維・衣料製造3繊維・衣料卸・小売4食品製造5食品卸・小売6医薬品製造现在如何使用上面的id字符串获取division_name谢谢大家! 最佳答案 在lar